package com.express.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.express.dto.ApiClassDto;
import com.express.dto.ApiDto;
import com.express.dto.ApiFormDto;
import com.express.entity.SysApiEntity;

import java.util.List;

/**
 * api
 *
 * @author Rock.Zhou
 * @email cool_fish@aliyun.com
 * @date 2020-12-08 16:28:39
 */
public interface SysApiService extends IService<SysApiEntity> {

    /**
     * 根据用户id获取api菜单
     * @param userId
     * @return
     */
    List<ApiClassDto> getApiListByUserId(long userId);

    /**
     * 新增一个api详情表单
     * @param apiFormDto
     * @return
     */
    Long saveApiForm(ApiFormDto apiFormDto);

    /**
     * 校验是否有权限查询api
     * @param apiId
     * @param userId
     * @return
     */
    int checkApiVerify(Long apiId, long userId);

    /**
     * 根据apiId查询ApiItem
     * @param apiId
     * @return
     */
    ApiFormDto getApiItemById(Long apiId);

    /**
     * 修改接口信息
     * @param apiFormDto
     */
    void updateItemByForm(ApiFormDto apiFormDto);

    /**
     * 同模块下查询接口名称是否存在
     * @param apiName
     * @param apiClassId
     * @return
     */
    int findByApiName(String apiName, Long apiClassId);

}

